package Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.HashMap;
import java.util.Iterator;

import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import utilidades.Escritor;
import utilidades.HtmlGen;
import utilidades.Validador;
import Inscripcion.Participante;
import Inscripcion.Usuario;


@WebServlet("/UserRegistrados")
public class UserRegistrados extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
	private static final long serialVersionUID = 1L;
	private ServletContext sc;

	public UserRegistrados() {
		// TODO Auto-generated constructor stub
		super();
	}
		
	public void init(ServletConfig config) throws ServletException{
		
		super.init(config);
		sc = getServletContext();

    }	
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doPost(request,response);
	}  	
	
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//Capturamos los parámetros
		String nombre = null;
		String apellido1 = null;
		String apellido2 = null;
		String correo =null;
		String username = null;
		String password = null;
		String sexo = null;
		
		
		try{
			HttpSession session = request.getSession(true);
			
			Validador val = new Validador(sc);
			boolean respuesta = false;
			
			String uid 	= (String) session.getAttribute("user");
			String pass = (String) session.getAttribute("pass");
			
			//TODO Capturar error de validacion
			respuesta = val.validar(uid, pass);
			
			if(!respuesta){
				response.setHeader("Cache-Control", "no-cache, no-store");
				response.setHeader("Pragma", "no-cache"); 
							 
				response.sendRedirect(request.getContextPath() + "/ErrorPages/accesDenied.html");
				return;
			}
			  
			PrintWriter out;
			out = response.getWriter();
			
			response.setContentType("text/html");
			  
			/*RecibirParametrosInscripcion rpi;
			int i=0;
			Participantes p = rpi.aInscritos.get(i);*/
			
			
			
			out.println("<html>");
			out.println("<head><title>Enviar parametros a un Servlet</title></head>");
			
			String urlEstilo = request.getContextPath() + "/css/cv.css"; 
			out.println("<link rel=\"stylesheet\" href=" + urlEstilo + ">");
			out.println("<meta http-equiv=\"content-type\" lang=\"es\" " +
					"content=\"text/html; charset=utf-8\"/>");
			
			out.println("</head>");

			out.println("<body>");
			
			
			//ESTILO JOSE
	
			HtmlGen.escribeCabecera(out);
			
			out.println("<div id=\"contenedor\">");
			
				out.println("<div id=\"Inscripcion\" class=\"apartado_cv\">");
			
			
				HashMap<String, Usuario> aRegistrados = Escritor.getRegistrados(getServletContext());
				
				if (aRegistrados != null){
					
					Iterator<String> it = aRegistrados.keySet().iterator();
					while (it.hasNext()){
						Usuario u = new Usuario();				
							
						u = aRegistrados.get(it.next());
					
						nombre = u.getNombre(); 
						apellido1 = u.getApellido1(); 
						apellido2 = u.getApellido2(); 
						correo = u.getCorreo();
						username = u.getUsername();
						password = u.getPassword();					
						sexo = u.getSexo();
						
						
						out.println("Nombre: <strong>" + nombre + "</strong><br>");
						out.println("Primer apellido: <strong>" + apellido1 + "</strong><br>");
						out.println("Segundo apellido: <strong>" + apellido2 + "</strong><br>");
						out.println("Correo electrónico: <strong>" + correo + "</strong><br>");
						out.println("Username: <strong>" + username + "</strong><br>");
						out.println("Password: <strong>" + password + "</strong><br>");
						out.println("Sexo: <strong>" + sexo + "</strong><br>");
						
						out.println("<hr>");				
					}
				}
				
				
				out.println("<hr>");
				
				
				
				
				//out.println("<a href='index.html'>Volver al inicio</a> | <a href=\"http://localhost/Practica4Pawii/UserRegistrados\">Usuarios registrados</a>");
				out.println("<a href='index.html'>Volver al inicio</a>");
				out.println("</div>");
			out.println("</div>");
				
			out.println("</body></html>");
		}	
		catch(Exception e){
			response.setHeader("Cache-Control", "no-cache, no-store");
			response.setHeader("Pragma", "no-cache"); 
						 
			response.sendRedirect(request.getContextPath() + "/ErrorPages/unknow.html");
		}
		//HashMap<String, Participante> aInscritos = (HashMap<String, Participante>) request.getServletContext().getAttribute("parametros");
		
	}   	  	   
}
